<?php

namespace library\configuration;

/**
 * <p>klasa fabryczna zwracająca odpowiedni sterownik do konfiguracji serwisu</p>
 * 
 * <p>jedynym obsługiwanym typem sterownika jest plik ini</p>
 *
 * @author Damian Jóźwiak
 */
class Configuration  extends \library\Base{
    /**
     *@readwrite
     * @var type 
     */
    protected $type;
        /**
     *@readwrite
     * @var type 
     */
    protected $options;
    /**
     * <p>funkcja wymagana aby zainicjalizować sterownik konfiguracji</p>
     * @return \library\configuration\Ini
     * @throws \library\exceptions\ExceptionWrongDriver <p>w przypadku podania innego typu sterownika niż ini</p>
     */
    public function initialize(){
        if (!$this->type){
            throw new \library\exceptions\ExceptionWrongDriver();
        }
        switch ($this->type){
            case "ini":{
                return new Ini($this->options);
            }
            default :{
                throw new \library\exceptions\ExceptionWrongDriver();
            }
        }
    }
}
